/*	This program produces Appendix Figure E.3 */

***** Set directories 
local dir_clean 	"~/Dropbox/Retirement gaming/clean"
local dir_output 	"~/Dropbox/Retirement gaming/output/dataverse"


use "`dir_clean'/mainsample_expbcw.dta", clear

local listcontrols = " i.t i.ciiu2_1stobs i.ndep_cat_1stobs i.ndep_cat i.year#i.i.ciiu2_1stobs i.year#i.ndep_cat_1stobs "  
local listcontrolsfe 	= " i.i i.t i.ndep_cat i.year#i.ciiu2_1stobs i.year#i.ndep_cat_1stobs "  


** WITHOUT INDIVIDUAL FIXED EFFECTS  

** SELF EMPLOYED
preserve
replace time_bcw=-5 if time_bcw==-6
keep if self_empl==1 
*Normalize wages
sum W if time_bcw==-1
local meanw=r(mean)
g Wz=W/`meanw'
* Age dummies
tab time_bcw, gen(time_bcw_dums)
drop time_bcw_dums5 // drop year before ref age, so everything becomes relative to that
* Regression
reghdfe Wz time_bcw_dums*, absorb(`listcontrols') vce(cluster i)
* Sample size
global n=e(N)
global N=e(N_clust1)
* Coefficients and sd
for any beta sd: gen X = .
forvalues d = 1(1)13 {
	capture qui replace beta = _b[time_bcw_dums`d'] if time_bcw==`d'-6
	capture qui replace sd   = _se[time_bcw_dums`d'] if time_bcw==`d'-6
}
replace beta=0 if time_bcw==-1
replace sd=0 if time_bcw==-1
* Plot the results
collapse beta* sd*, by(time_bcw)
gen sd_top = beta + 1.96*sd	
gen sd_bot = beta - 1.96*sd
gen sd_top10 = beta + 1.645*sd	
gen sd_bot10 = beta - 1.645*sd
twoway rcap sd_top sd_bot time_bcw, ///
	cmissing(n) lwidth(thin) lcolor(navy) xsc(r(-5 7)) xlabel(-5(1)7)  xline(-1,lc(green)) ysc(r(-0.03 .09)) ylabel(-0.03(0.03).09,grid)  ///
	|| rcap sd_top10 sd_bot10 time_bcw, cmissing(n) lwidth(thin) lcolor(navy) xsc(r(-5 7)) ///
	|| scatter beta time_bcw, mcolor(navy) scheme(s1color) lcolor(navy) lpattern(solid) yline(0, lcolor(gs2)) ///
	title("Reported earnings, relative to time -1") note("N=${n}, Individuals=${N}") ///
	legend(off) ytitle("Estimated Coefficients") xtitle("Years Relative to Predicted Start of BCW")  
graph export "`dir_output'/figureE3a_nofe.png",  replace 	
restore

 
** EMPLOYEE SMALL FIRM
preserve
replace time_bcw=-5 if time_bcw==-6
keep if empl==1 &  small_1stobs==1  
*Normalize wages
sum W if time_bcw==-1
local meanw=r(mean)
g Wz=W/`meanw'
* Age dummies
tab time_bcw, gen(time_bcw_dums)
drop time_bcw_dums5 // drop year before ref age, so everything becomes relative to that
* Regression
reghdfe Wz time_bcw_dums* , absorb(`listcontrols') vce(cluster i )
* Sample size
global n=e(N)
global N=e(N_clust1)
* Coefficients and sd
for any beta sd: gen X = .
forvalues d = 1(1)13 {
	capture qui replace beta = _b[time_bcw_dums`d'] if time_bcw==`d'-6
	capture qui replace sd   = _se[time_bcw_dums`d'] if time_bcw==`d'-6
}
replace beta=0 if time_bcw==-1
replace sd=0 if time_bcw==-1
* Plot the results
collapse beta* sd*, by(time_bcw)
gen sd_top = beta + 1.96*sd	
gen sd_bot = beta - 1.96*sd
gen sd_top10 = beta + 1.645*sd	
gen sd_bot10 = beta - 1.645*sd
twoway rcap sd_top sd_bot time_bcw, ///
	cmissing(n) lwidth(thin) lcolor(navy) xsc(r(-5 7)) xlabel(-5(1)7)  xline(-1,lc(green)) ysc(r(-0.03 .09)) ylabel(-0.03(0.03).09,grid)  ///
	|| rcap sd_top10 sd_bot10 time_bcw, cmissing(n) lwidth(thin) lcolor(navy) xsc(r(-5 7)) ///
	|| scatter beta time_bcw, mcolor(navy) scheme(s1color) lcolor(navy) lpattern(solid) yline(0, lcolor(gs2)) ///
	title("Reported earnings, relative to time -1") note("N=${n}, Individuals=${N}") ///
	legend(off) ytitle("Estimated Coefficients") xtitle("Years Relative to Predicted Start of BCW")  
graph export "`dir_output'/figureE3b_nofe.png",  replace 	
restore


*** EMPLOYEE LARGE FIRM 
preserve
replace time_bcw=-5 if time_bcw==-6
keep if empl==1  & large_1stobs==1  & ndep_1stobs<4163 // cap outliers
*Normalize wages
sum W if time_bcw==-1
local meanw=r(mean)
g Wz=W/`meanw'
* Age dummies
tab time_bcw, gen(time_bcw_dums)
drop time_bcw_dums5 // drop year before ref age, so everything becomes relative to that
* Regression
reghdfe Wz time_bcw_dums* , absorb(`listcontrols') vce(cluster i )
* Sample size
global n=e(N)
global N=e(N_clust1)
* Coefficients and sd
for any beta sd: gen X = .
forvalues d = 1(1)13 {
	capture qui replace beta = _b[time_bcw_dums`d'] if time_bcw==`d'-6
	capture qui replace sd   = _se[time_bcw_dums`d'] if time_bcw==`d'-6
}
replace beta=0 if time_bcw==-1
replace sd=0 if time_bcw==-1
* Plot the results
collapse beta* sd*, by(time_bcw)
gen sd_top = beta + 1.96*sd	
gen sd_bot = beta - 1.96*sd
gen sd_top10 = beta + 1.645*sd	
gen sd_bot10 = beta - 1.645*sd
twoway rcap sd_top sd_bot time_bcw, ///
	cmissing(n) lwidth(thin) lcolor(navy) xsc(r(-5 7)) xlabel(-5(1)7)  xline(-1,lc(green)) ysc(r(-0.03 .09)) ylabel(-0.03(0.03).09,grid)  ///
	|| rcap sd_top10 sd_bot10 time_bcw, cmissing(n) lwidth(thin) lcolor(navy) xsc(r(-5 7)) ///
	|| scatter beta time_bcw, mcolor(navy) scheme(s1color) lcolor(navy) lpattern(solid) yline(0, lcolor(gs2)) ///
	title("Reported earnings, relative to time -1") note("N=${n}, Individuals=${N}") ///
	legend(off) ytitle("Estimated Coefficients") xtitle("Years Relative to Predicted Start of BCW")  
graph export "`dir_output'/figureE3c_nofe.png",  replace 	
restore

	

** WITH INDIVIDUAL FIXED EFFECTS 

** SELF EMPLOYED EARNINGS **with ind and time FE (drop 2 dummies)**
preserve
replace time_bcw=-5 if time_bcw==-6
keep if self_empl==1 
*Normalize wages
sum W if time_bcw==-1
local meanw=r(mean)
g Wz=W/`meanw'
* Age dummies
tab time_bcw, gen(time_bcw_dums)
drop time_bcw_dums5 // drop year before ref age, so everything becomes relative to that
drop time_bcw_dums1 // drop first event period for ID up to linear trend
* Regression
reghdfe Wz time_bcw_dums*, absorb(`listcontrolsfe') vce(cluster i)
* Sample size
global n=e(N)
global N=e(N_clust1)
* Coefficients and sd
for any beta sd: gen X = .
forvalues d = 1(1)13 {
	capture qui replace beta = _b[time_bcw_dums`d'] if time_bcw==`d'-6
	capture qui replace sd   = _se[time_bcw_dums`d'] if time_bcw==`d'-6
}
replace beta=0 if time_bcw==-1
replace sd=0 if time_bcw==-1
replace beta=0 if time_bcw==-5
replace sd=0 if time_bcw==-5
* Plot the results
collapse beta* sd*, by(time_bcw)
gen sd_top = beta + 1.96*sd	
gen sd_bot = beta - 1.96*sd
gen sd_top10 = beta + 1.645*sd	
gen sd_bot10 = beta - 1.645*sd
twoway rcap sd_top sd_bot time_bcw, ///
	cmissing(n) lwidth(thin) lcolor(navy) xsc(r(-5 7)) xlabel(-5(1)7)  xline(-1,lc(green)) ysc(r(-0.03 .09)) ylabel(-0.03(0.03).09,grid)  ///
	|| rcap sd_top10 sd_bot10 time_bcw, cmissing(n) lwidth(thin) lcolor(navy) xsc(r(-5 7)) ///
	|| scatter beta time_bcw, mcolor(navy) scheme(s1color) lcolor(navy) lpattern(solid) yline(0, lcolor(gs2)) ///
	title("Reported earnings, relative to time -1") note("N=${n}, Individuals=${N}") ///
	legend(off) ytitle("Estimated Coefficients") xtitle("Years Relative to Predicted Start of BCW")  
graph export "`dir_output'/figureE3a_fe.png",  replace 	
restore


*** FE EMPLOYED -- MICRO SIZED FIRMS (LESS THAN 10 WORKERS) EARNINGS
preserve
replace time_bcw=-5 if time_bcw==-6
keep if empl==1 &  small_1stobs==1 
*Normalize wages
sum W if time_bcw==-1
local meanw=r(mean)
g Wz=W/`meanw'
* Age dummies
tab time_bcw, gen(time_bcw_dums)
drop time_bcw_dums5 // drop year before ref age, so everything becomes relative to that
drop time_bcw_dums1 // drop first event period for ID up to linear trend
* Regression
reghdfe Wz time_bcw_dums* , absorb(`listcontrolsfe') vce(cluster i )
* Sample size
global n=e(N)
global N=e(N_clust1)
* Coefficients and sd
for any beta sd: gen X = .
forvalues d = 1(1)13 {
	capture qui replace beta = _b[time_bcw_dums`d'] if time_bcw==`d'-6
	capture qui replace sd   = _se[time_bcw_dums`d'] if time_bcw==`d'-6
}
replace beta=0 if time_bcw==-1
replace sd=0 if time_bcw==-1
replace beta=0 if time_bcw==-5
replace sd=0 if time_bcw==-5
* Plot the results
collapse beta* sd*, by(time_bcw)
gen sd_top = beta + 1.96*sd	
gen sd_bot = beta - 1.96*sd
gen sd_top10 = beta + 1.645*sd	
gen sd_bot10 = beta - 1.645*sd
twoway rcap sd_top sd_bot time_bcw, ///
	cmissing(n) lwidth(thin) lcolor(navy) xsc(r(-5 7)) xlabel(-5(1)7)  xline(-1,lc(green))  ysc(r(-0.03 .09)) ylabel(-0.03(0.03).09,grid)  ///
	|| rcap sd_top10 sd_bot10 time_bcw, cmissing(n) lwidth(thin) lcolor(navy) xsc(r(-5 7)) ///
	|| scatter beta time_bcw, mcolor(navy) scheme(s1color) lcolor(navy) lpattern(solid) yline(0, lcolor(gs2)) ///
	title("Reported earnings, relative to time -1") note("N=${n}, Individuals=${N}") ///
	legend(off) ytitle("Estimated Coefficients") xtitle("Years Relative to Predicted Start of BCW")   
graph export "`dir_output'/figureE3b_fe.png",  replace 	
restore


*** FE EMPLOYED -- LARGE SIZED FIRMS (MORE THAN 10 WORKERS) EARNINGS
preserve
replace time_bcw=-5 if time_bcw==-6
keep if empl==1 & large_1stobs==1  & ndep_1stobs<4163 // cap outliers
*Normalize wages
sum W if time_bcw==-1
local meanw=r(mean)
g Wz=W/`meanw'
* Age dummies
tab time_bcw, gen(time_bcw_dums)
drop time_bcw_dums5 // drop year before ref age, so everything becomes relative to that
drop time_bcw_dums1 // drop first event period for ID up to linear trend
* Regression
reghdfe Wz  time_bcw_dums*, absorb(`listcontrolsfe') vce(cluster i )
* Sample size
global n=e(N)
global N=e(N_clust1)
* Coefficients and sd
for any beta sd: gen X = .
forvalues d = 1(1)13 {
	capture qui replace beta = _b[time_bcw_dums`d'] if time_bcw==`d'-6
	capture qui replace sd   = _se[time_bcw_dums`d'] if time_bcw==`d'-6
}
replace beta=0 if time_bcw==-1
replace sd=0 if time_bcw==-1
replace beta=0 if time_bcw==-5
replace sd=0 if time_bcw==-5
* Plot the results
collapse beta* sd*, by(time_bcw)
gen sd_top = beta + 1.96*sd	
gen sd_bot = beta - 1.96*sd
gen sd_top10 = beta + 1.645*sd	
gen sd_bot10 = beta - 1.645*sd
twoway rcap sd_top sd_bot time_bcw, ///
	cmissing(n) lwidth(thin) lcolor(navy) xsc(r(-5 7)) xlabel(-5(1)7)  xline(-1,lc(green)) ysc(r(-0.03 .09)) ylabel(-0.03(0.03).09,grid) ///
	|| rcap sd_top10 sd_bot10 time_bcw, cmissing(n) lwidth(thin) lcolor(navy) xsc(r(-5 7)) ///
	|| scatter beta time_bcw, mcolor(navy) scheme(s1color) lcolor(navy) lpattern(solid) yline(0, lcolor(gs2)) ///
	title("Reported earnings, relative to time -1")  note("N=${n}, Individuals=${N}") ///
	legend(off) ytitle("Estimated Coefficients") xtitle("Years Relative to Predicted Start of BCW")    
graph export "`dir_output'/figureE3c_fe.png",  replace 	
restore



clear all
exit
